package com.kb.erp.entity.quote;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.*;

import java.util.List;

/**
 * 文件配置表
 *
 * @author 芋道源码
 */


@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ComponentStockVO {

    /**
     * 主键ID，自动生成
     */
    @TableId
    private Long id;
    /**
     * 图片地址
     */
    private String picUrl;
    /**
     * 制造商型号
     */
    private String model;
    /**
     * 产品类型
     */
    private String type;
    /**
     * 品牌
     */
    private String brand;
    /**
     * 规格
     */
    private String specifications;
    /**
     * 封装
     */
//    private String encapsulation;
    /**
     * 属性
     */
    private String attribute;
    /**
     * 库存类型 1-线上库存 2-导入库存 3-自备库存
     * 默认值：1
     */
    private Integer stockType = 1;  // Default value is 1
    /**
     * 供应商code
     */
    private String supplierCode;
    /**
     * 包装
     */
    private String packaging;


    @TableField(exist = false)
    private List<ComponentPriceVO> priceList;


    /**
     * 关键字，暂时只用于得捷，昴氏缓存
     */
    private String keyword;

    /**
     * 内部零件号，暂时只用于得捷缓存
     */
    private String partnumber;

    /**
     * 来源 1-api 2-人工 3-国创
     */
    private Integer source;


    @TableField("goods_id")
    private String goodsId;

    @TableField("library_status")
    private Integer libraryStatus;

    @TableField("batch_code")
    private String batchCode;

    @TableField("min_package")
    private String minPackage;


    private String ltvalue;

    private Integer minNum;

    private String exportControlClassificationNumber;


    public ComponentStockVO(String picUrl, String model, String type, String brand, String specifications,
                            String attribute, Integer stockType, String supplierCode, String packaging) {
        this.picUrl = picUrl;
        this.model = model;
        this.type = type;
        this.brand = brand;
        this.specifications = specifications;

        this.attribute = attribute;
        this.stockType = stockType;
        this.supplierCode = supplierCode;
        this.packaging = packaging;
    }
}
